Map 介面是用來存放『鍵值對』 (key-value pair) 對應關係的元素集合, 在加入元素時, 必須指定此元素的 key 及 value 兩項內容, 而且key 的內容不可重複。
map 常用方法:
Map 中包括一個內部類別 Entry,該類別封裝了一個key-value 對。Entry 包含如
下三個方法。
public class HashMapDemo {
public static void main(String[] args) {
HashMap<Integer, String> hm = new HashMap<>();
hm.put(1, "DD");
hm.put(3, "KK");
hm.put(2, "AA");
hm.put(1, "QQ");
hm.put(5, "BB");
System.out.println(hm);
System.out.println(hm.get(2));//以key取值
System.out.println(hm.keySet());
System.out.println(hm.values());
System.out.println(hm.containsKey(8));
System.out.println(hm.remove(3));
System.out.println(hm);
System.out.println(hm.entrySet());
}
}
是 java.util 套件中的另一個介面, 它並不是用來建立集合, 而是用來逐一瀏覽集合中所有元素的一項工具,Collection 類別都有個 iterator() 方法, 以集合物件呼叫此方法可傳回一 Iterator 物件, 我們可用此物件呼叫 Iterator 介面的方法來逐一取得、移除集合中的元素。
Map 型的類別則無 iterator() 方法, 但我們可用 entrySet() 等方法取得代表 Map 物件的集合物件, 再用它建立 Iterator 物件。
public class ListDemo{
public static void main(String[] args) {
ArrayList<Integer> a01 = new ArrayList<>();
a01.add(100);
a01.add(88);
a01.add(100);
a01.add(65);
a01.add(33);
System.out.println(a01);
System.out.println(a01.get(0)+50);
a01.add(2, 90);
System.out.println(a01);
a01.set(2, 11);
System.out.println(a01);
System.out.println("--------------------");
//1)for
for(int i=0; i<a01.size(); i++) {
if(a01.get(i)==100) {
a01.remove(i);
}
System.out.print(a01.get(i)+" ");
}
System.out.println("\n--------------------");
//2)for-each
for(int a:a01) {
// if(a==11) {
// a01.remove(11);
// }
System.out.print(a+" ");
}
System.out.println("\n--------------------");
//3)Iterator
Iterator<Integer> r= a01.iterator();
while(r.hasNext()) {
Integer i = r.next();
if(i==11) {
r.remove();
}
}
System.out.println(a01);
}
}
注意: